<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    console.dir(Promise)
    // Promise 类方法 Promise.resolve 直接将promise状态变为成功状态
     let p = Promise.resolve("成功啦");
    //  等价于
    //  let p  = new Promise((reslove,reject)=>{
    //     //reslove 将状态改变为成功 reject将状态变为是失败
    //     reslove("成功啦")
    //     // reject("失败了·")
    // });
     console.log(p)
     p.then(res=>{
        console.log(res)
     })
    //   Promise 类方法 Promise.resolve 直接将promise状态变为成功失败
     let p1 = Promise.reject("失败啦")
     p1.catch((err)=>{
        console.log(err)
     })

     function getA(){
        return Promise.resolve("成功aaaa")
     }
     getA().then(res=>{
        console.log(res)
     })

     // Promise.all 传入多个promise对象只用当所有promise对象状态都为成功时 promise对象状态才为成功.
     let p2= new Promise((reslove,reject)=>{
        reslove("p2成功")
     })
     let p3= new Promise((reslove,reject)=>{
        rereslove("p3成功")
     })
     let p4= new Promise((reslove,reject)=>{
        reslove("p4成功")
     })
     let pAll = Promise.all([p2,p3,p4]);
     console.log(pAll)
     pAll.then((res)=>{
        let [res1,res2,res3] = res;
        console.log(res)
     })
    //  Promise.race race比赛 传入多个promise对象 当率先改变的promise状态改变则该promise对象状态和1其一样例如 第一个promise对象失败了则当前promise对象为失败
    Promise.race([p2,p3,p4]).then(()=>{
        console.log("race成功")
    }).catch((err)=>{
        console.log("race失败",err)
    })
</script>
</html>